home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Express Pd: GALORE
/
Express Pd Galore - The Amiga PD & Shareware CD (1994)(Express Pd)[!][Amiga-CD32-CDTV].iso
/
games
/
puzzle_quiz
/
exit-13
/
extra
/
damage.s
< prev
Wrap
Text File
|
1993-09-02
|
26KB
|
738 lines
;==========================================================================
;
; Program Name : Bouncy Bob Balls { Optimized }
;
; Coded by : Ian Quigley (aka : Damage)
; Date : 19 July '93
; Liecence : Freeware
;
;==========================================================================
incdir df0:include/
include hardware.i ;This sets things like DMACONR equ $02
; Boundaries.
Lowest_Floor equ 200
Right_Side equ 287
Start ;---> Initialise System <--------------------------------------------
lea gfxname,a1
move.l ExecBase,a6
jsr -$0228(a6) ; Exec.lib > Open 'Graphics' Library
move.l d0,_GfxBase
move.l d0,a0 ; Fiddel with Copper list offsets
move.l 38(a0),a0
move.l a0,Copper_1
move.l #Copper,$dff080
lea Planes,a0
move.l #Damage_Bin,d0
move.w d0,30(a0) ; Bitplane 4 low
swap d0
move.w d0,26(a0) ; Bitplane 4 high
move.l ExecBase,a6
jsr -$0084(a6) ; Exec.lib > Forbid O/S
move.l #(8*40*256),d0 ; 8 Planes size = 40*256 (320*256)
move.l #2,d1 ; Chip Mem Please
move.l ExecBase,a6
jsr -$00C6(a6) ; Exec>lib > AllocMem
move.l d0,Mem_Space
beq Exit_13 ; No Memory ! Bollocks !
lea OldPlanes,a0
move.l d0,(a0)+ ; ie 60000
add.l #(40*256),d0
move.l d0,(a0)+ ; ie 62800
add.l #(40*256),d0
move.l d0,(a0)+ ; ie 65000
add.l #(40*256),d0
lea NewPlanes,a0
move.l d0,(a0)+ ; ie 67800
add.l #(40*256),d0
move.l d0,(a0)+ ; ie 6a000
add.l #(40*256),d0
move.l d0,(a0)+ ; ie 6c8000
;----------} Main Code {-----------------------------------------------------
jsr Insert_NewPlanes
move.l #$dff000,a5
Keepon
lea Object_1,a4
jsr Update_Object ; Write to New Planes
lea Object_2,a4
jsr Update_Object
lea Object_3,a4
jsr Update_Object
lea Object_4,a4
jsr Update_Object
lea Object_5,a4
jsr Update_Object
lea Object_6,a4
jsr Update_Object
lea Object_7,a4
jsr Update_Object
lea Object_8,a4
jsr Update_Object
lea Object_9,a4
jsr Update_Object
lea Object_A,a4
jsr Update_Object
jsr Insert_NewPlanes ; Inserts to copper list
move.l #0,d0
jsr VB_Delay ; Wait 1 verical Blank
jsr Clear_Planes ; Clears OldPlanes
jsr Swap_Old_New_Planes ; Swaps Old/New Planes
btst #6,$bfe001
bne Keepon ; Right Mouse Button ??
;----------) End Code (-----------------------------------------------------
move.l #(8*40*256),d0 ; Our 8 planes
move.l Mem_Space,a1 ; Where they live
move.l ExecBase,a6
jsr -$00D2(a6) ; Exec.lib > FreeMem
Exit_13
move.l ExecBase,a6
jsr -$008A(a6) ; Exec.Lib > Permit
move.l Copper_1,$dff080
move.l _GfxBase,a1
move.l ExecBase,a6
jsr -$019e(a6) ; Exec.Lib > Close 'Graphics' Lib.
rts
;----------> End of program <------------------------------------------------
; Subroutines ...
Counter dc.l 0
Mem_Space dc.l 0
Insert_NewPlanes
;-----------------------------------------------
; Inserts NewPlane addresses into Copper List.
;
; a0,a1,d0 <= Trash.
lea Planes,a0
lea NewPlanes,a1
move.l (a1)+,d0
move.w d0,6(a0) ; Plane 0 low
swap d0
move.w d0,2(a0) ; Plane 0 high
move.l (a1)+,d0
move.w d0,14(a0) ; Plane 1 low
swap d0
move.w d0,10(a0) ; Plane 1 high
move.l (a1)+,d0
move.w d0,22(a0) ; Plane 2 low
swap d0
move.w d0,18(a0) ; Plane 2 high
rts
Swap_Old_New_Planes
;-----------------------------------------------
; Swaps 3 long word from OldPlanes/NewPlanes
;
; a0,a1,d7 <= Trash
move.l #(3)-1,d7
lea OldPlanes,a0
lea TmpPlanes,a1
Swap_Old_Temp
move.l (a0)+,(a1)+
dbra d7,Swap_Old_Temp
move.l #(3)-1,d7
lea NewPlanes,a0
lea OldPlanes,a1
Swap_Old_New
move.l (a0)+,(a1)+
dbra d7,Swap_Old_New
move.l #(3)-1,d7
lea TmpPlanes,a0
lea NewPlanes,a1
Swap_Tmp_New
move.l (a0)+,(a1)+
dbra d7,Swap_Tmp_New
rts
;============>> Blitter Image Code <<======================================
Update_Object ;--------------------------------------------
; a4 => Object Structure to update
; a5 == Hardware Registers ($dff000)
;
; d0-d7/a0-a3 <= Invalid.
;
; This routine will re-plot an object, and reset it's
; x/y co-ords.
move.w Obj_xpos(a4),d0
move.w Obj_ypos(a4),d1
move.w Obj_dx(a4),d2
move.w Obj_dy(a4),d3
add.w d2,d0 ; x = x + dx
add.w d3,d1 ; y = y + dy
add.w #1,d3 ; Add gravity to dy
cmp.w #Lowest_Floor,d1
blt UO_NoBounce1
sub.w #1,d3
bcc UO_NoSmallBounce
move.w #1,d3
UO_NoSmallBounce
neg.w d3 ; reverse direction dy
move.w #Lowest_Floor,d1
UO_NoBounce1
cmp.w #Right_Side,d0 ; | ie d0 > 0200
blt UO_NoBounce2 ; | ie d0 = 0203
sub.w #Right_Side,d0 ; | ie d0 = 0003
neg.w d0 ; | ie d0 = FFFD
add.w #Right_Side,d0 ; | ie d0 = 0197
neg.w d2 ;Reverser dirct. \ and looks like a bounce
UO_NoBounce2
btst #15,d0 ; ie d0 < 0
beq UO_NoBounce3 ; ie d0 = FFFD
neg.w d0 ; ie d0 = 0003
neg.w d2 ; Reverse Direction
UO_NoBounce3
move.w d0,Obj_xpos(a4)
move.w d1,Obj_ypos(a4)
move.w d2,Obj_dx(a4)
move.w d3,Obj_dy(a4)
UO_PlotObject ;-----> Plot new object <---------------------------------
move.w Obj_xpos(a4),d0
move.w Obj_ypos(a4),d1
mulu #40,d1
move.l d1,UO_Addr_Offset ; add on y*40
lsr.w #4,d0
add.w d0,d0
add.l d0,UO_Addr_Offset ; add on 2*int(x/16)
lea Ball_Bob,a1 ;pointer to bitplane data
move.l #124,d6 ;size of 1 bitplane of image in BYTES!
;------------ Now do the funky stuff -------------------------
lea Ball_Bob.MASK,a2
move.w #2,d7 ; bitplane counter
lea NewPlanes,a3
UO_PlaneNumb
move.l (a3)+,a0
add.l UO_Addr_Offset,a0
UO_WaitBlitter2 btst #6,DMACONR(a5) ; blitter done?
bne.s UO_WaitBlitter2 ; no, wait for it
move.l a0,BLTCPTH(a5) ; bgnd and destination
move.l a0,BLTDPTH(a5) ; bitplane pointers
move.l a1,BLTBPTH(a5) ; ptr to image data
move.l a2,BLTAPTH(a5) ; ptr to mask data
move.w #-2,BLTAMOD(a5)
move.w #-2,BLTBMOD(a5)
move.w #(40)-6,BLTCMOD(a5) ; C, D moduli equals
move.w #(40)-6,BLTDMOD(a5) ; 40-(cols width in bytes)
move.l #$ffff0000,BLTAFWM(a5)
moveq #0,d0
move.w Obj_xpos(a4),d0
and.w #%1111,d0 ; frac(x/16)
rol.w #4,d0
move.w d0,d1
or.w #%1111,d0 ; and in USEx bits!
rol.w #8,d0 ; put in proper place
or.b #$CA,d0 ; put in minterm bits
move.w d0,BLTCON0(a5) ; save BLTCON0 control word
rol.w #8,d1 ; proper place
move.w d1,BLTCON1(a5)
move.w #$07C3,BLTSIZE(a5)
UO_NextDest
add.l d6,a1 ; next image bitplane
dbra d7,UO_PlaneNumb
rts
Clear_Planes
;------------ Clear Old Area ------------------------------
;
; Clears Old Planes.
;
; a0-a4,d7 <= Trash
move.w #2,d7
lea OldPlanes,a3
UO_ClearArea
btst #6,DMACONR(a5) ; Is blitter ready ?
bne UO_ClearArea ; No. Wait for it...
move.w #0,BLTDMOD(a5) ; Nor you.
move.l (a3)+,a0
move.l a0,BLTDPTH(a5) ; Tell it screen Addr.
move.w #0,BLTDMOD(a5) ; Don't skip bits
move.w #USED,BLTCON0(a5) ; Just output to D
move.w #0,BLTCON1(a5) ; and no wise moves.
move.w #$4014,BLTSIZE(a5) ; 256 * 40 (bytes) scrn
dbra d7,UO_ClearArea
rts
UO_Addr_Offset dc.l 0 ; Address offset from x * y
;---------------------------------------------------------------------------
VB_Delay
;----------------------------------
; d0 => Number of Vertical Blanks to Wait for
; d1 <= Trash.
;
move.w $dff006,d1
and.w #$ff00,d1
bne VB_Delay
VB_Delay0
move.w $dff004,d1
and.w #$0001,d1
bne VB_Delay0
dbra d0,VB_Delay
rts
;==========>> Data Area <<==================================================
Object_1 ;=============================================================
dc.w 32,53 ; x / y - position NOW
dc.w -3,1 ; dx / dy - velocity
Object_2 ;=============================================================
dc.w 132,62 ; x / y - position NOW
dc.w 2,-1 ; dx / dy - velocity
Object_3 ;=============================================================
dc.w 232,42 ; x / y - position NOW
dc.w 3,1 ; dx / dy - velocity
Object_4 ;=============================================================
dc.w 2,20 ; x / y - position NOW
dc.w -5,1 ; dx / dy - velocity
Object_5 ;=============================================================
dc.w 60,80 ; x / y - position NOW
dc.w 1,-1 ; dx / dy - velocity
Object_6 ;=============================================================
dc.w 50,75 ; x / y - position NOW
dc.w 6,1 ; dx / dy - velocity
Object_7 ;=============================================================
dc.w 90,24 ; x / y - position NOW
dc.w 3,-1 ; dx / dy - velocity
Object_8 ;=============================================================
dc.w 20,93 ; x / y - position NOW
dc.w -3,1 ; dx / dy - velocity
Object_9 ;=============================================================
dc.w 100,10 ; x / y - position NOW
dc.w -8,1 ; dx / dy - velocity
Object_A ;=============================================================
dc.w 60,130 ; x / y - position NOW
dc.w 3,-2 ; dx / dy - velocity
ExecBase equ 4
_GfxBase dc.l 0
gfxname dc.b 'graphics.library',0
even
Copper_1 dc.l 0
OldPlanes dc.l 0,0,0,0
NewPlanes dc.l 0,0,0,0
TmpPlanes dc.l 0,0,0,0
SECTION MY_COPPER,CODE_C
Copper
dc.l $01200000,$01220478
dc.l $01240000,$01260478,$01280000,$012A0478
dc.l $012C0000,$012E0478,$01300000,$01320478
dc.l $01340000,$01360478,$01380000,$013A0478
dc.l $013C0000,$013E0478
Cop_Colors
dc.l $01820A00,$01840500,$01860600 ; Colors 1,2,3
dc.l $01880611,$018A0811,$018C0300,$018E0FC8 ; Colors 4,5,6,7
dc.l $01900303,$01920a00,$01940500,$01960600 ; Colors 8,9,a,b
dc.l $01980611,$019a0811,$019c0300,$019e0fc8 ; Colors c,d,e,f
;Bar one
dc.l $01800111,$2901fffe
dc.l $01800a0a,$2a01fffe
dc.l $0180011f,$2b01fffe,$01800000
dc.l $008E057C,$01000200,$01040024
dc.l $009040BC,$00920030,$009400C8,$010200BB
dc.l $01080000,$010A0000
Planes dc.l $00E00006,$00E20000
dc.l $00E40006,$00E62800
dc.l $00E80006,$00Ea5000
dc.l $00EC0000,$00EE0000
dc.l $2c01fffe,$01003200 ; 3 Bit Planes
dc.l $6001fffe,$01004200 ; 4 Bit Planes (Damage Piccy)
dc.l $c001fffe,$01003200 ; 3 Bit Planes
dc.l $FFDFFFFE
;Bar Two
dc.l $01800000,$1401fffe
dc.l $0180011f,$1501fffe
dc.l $01800a0a,$1601fffe,$01800111
dc.l $2B01FFFE,$01000200 ; No Bit Planes Thanx
dc.l $FFFFFFFE ; End Of CopperList.
Ball_Bob ;=============================================================
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$003F,$8000
DC.W $00C1,$E000,$017C,$E000,$02FE,$3000,$05FF,$5400
DC.W $07FF,$1800,$0BFE,$AC00,$03FF,$1A00,$0BFE,$AC00
DC.W $11FF,$1A00,$197D,$2C00,$0EAA,$1A00,$1454,$DC00
DC.W $0E81,$3800,$0154,$F400,$02EB,$F000,$015F,$D000
DC.W $00B5,$A000,$002A,$8000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000
DC.W $000F,$E000,$007F,$FC00,$01FF,$FF00,$03FF,$FF80
DC.W $07C1,$FFC0,$0F00,$FFE0,$1E00,$3FF0,$3C40,$5FF8
DC.W $3CE0,$1FF8,$7840,$2FFC,$7800,$1FFC,$7800,$2FFC
DC.W $F800,$1FFE,$F800,$2FFE,$FE00,$1FFE,$FC00,$DFFE
DC.W $FE81,$3FFE,$FF54,$FFFE,$FFEB,$FFFE,$7FFF,$FFFC
DC.W $7FFF,$FFFC,$7FFF,$FFFC,$3FFF,$FFF8,$3FFF,$FFF8
DC.W $1FFF,$FFF0,$0FFF,$FFE0,$07FF,$FFC0,$03FF,$FF80
DC.W $01FF,$FF00,$007F,$FC00,$000F,$E000
DC.W $000F,$E000,$007F,$FC00,$01E0,$7F00,$0380,$0F80
DC.W $073E,$0AC0,$0CFF,$0560,$198F,$C2F0,$3347,$A0B8
DC.W $32EB,$E158,$6647,$D0AC,$660B,$E05C,$4757,$D0AC
DC.W $C7AF,$E05E,$A7FF,$D02E,$C1FF,$E05E,$A3FF,$202E
DC.W $D17E,$C05E,$E0AB,$002E,$D014,$005E,$6800,$00AC
DC.W $7000,$02DC,$7400,$057C,$2800,$0AF8,$3680,$55F8
DC.W $1D54,$AAF0,$0EAB,$55E0,$0754,$ABC0,$03EB,$FF80
DC.W $01FE,$FF00,$007F,$FC00,$000F,$E000
Ball_Bob.MASK
DC.W $000F,$E000,$007F,$FC00,$01FF,$FF00,$03FF,$FF80
DC.W $07FF,$FFC0,$0FFF,$FFE0,$1FFF,$FFF0,$3FFF,$FFF8
DC.W $3FFF,$FFF8,$7FFF,$FFFC,$7FFF,$FFFC,$7FFF,$FFFC
DC.W $FFFF,$FFFE,$FFFF,$FFFE,$FFFF,$FFFE,$FFFF,$FFFE
DC.W $FFFF,$FFFE,$FFFF,$FFFE,$FFFF,$FFFE,$7FFF,$FFFC
DC.W $7FFF,$FFFC,$7FFF,$FFFC,$3FFF,$FFF8,$3FFF,$FFF8
DC.W $1FFF,$FFF0,$0FFF,$FFE0,$07FF,$FFC0,$03FF,$FF80
DC.W $01FF,$FF00,$007F,$FC00,$000F,$E000
Damage_Bin ; 320 * 100 1 Bitplane
dc.b 0
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0001,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0400,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0400
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$3000,$0000
DC.W $0000,$0000,$0000,$0100,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $2000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$4000,$0000,$0000
DC.W $0000,$0000,$0000,$0180,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0040,$0000,$0000,$0000,$0007,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$4000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0002,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0401,$6000,$0000,$0400,$0000,$0000,$0000,$0000
DC.W $0000,$0050,$0000,$0000,$0000,$0000,$2000,$0000
DC.W $4000,$0000,$0000,$0000,$080A,$3000,$1C00,$0C00
DC.W $0000,$0000,$0000,$0000,$0000,$0020,$0000,$0000
DC.W $0008,$0000,$6000,$0000,$2FEC,$0000,$0000,$0000
DC.W $181F,$DC00,$3E07,$FB40,$0000,$0000,$0000,$0000
DC.W $0000,$0020,$0000,$0000,$021C,$0001,$FC00,$0000
DC.W $8FFE,$0000,$F001,$8000,$101C,$FF00,$3FFF,$EEE0
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0438,$8003,$7EF0,$4000,$DFF7,$8001,$FC03,$0000
DC.W $003F,$FF88,$3FFF,$F8D6,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0600,$0000,$027D,$4001,$FFF8,$0000
DC.W $3FFB,$0011,$FF80,$0000,$007F,$FFC0,$DFFF,$EA5F
DC.W $C000,$0000,$0000,$0000,$0000,$0C00,$7600,$0000
DC.W $0019,$4000,$FEF8,$0000,$7FFF,$0001,$FFC0,$0000
DC.W $00FF,$FFC0,$5FFF,$FEFF,$B800,$0000,$0000,$0000
DC.W $0000,$1C0E,$3600,$0000,$0007,$8800,$FC7D,$0000
DC.W $7FEB,$0083,$FFC0,$0000,$40FF,$FFD0,$1FFF,$FFDF
DC.W $FC00,$0000,$0000,$0000,$0000,$1B4E,$7C00,$0000
DC.W $000F,$DC04,$7E7E,$0000,$FFF7,$0003,$FFC0,$0000
DC.W $08FE,$DFE0,$3FFF,$EC5F,$F800,$0000,$0000,$0000
DC.W $0000,$7346,$0800,$0000,$02BF,$FC00,$FFFE,$0001
DC.W $FFFF,$0007,$FFC0,$0000,$046F,$BFF8,$3FFF,$E9BF
DC.W $FC00,$0000,$0000,$0000,$0006,$B786,$0E00,$0000
DC.W $033F,$FC00,$FEE4,$0000,$7FFF,$0007,$FFE0,$0000
DC.W $1385,$BFF8,$3FFF,$F47F,$FE00,$0000,$0000,$0000
DC.W $0004,$6FD3,$1F80,$0000,$003F,$FC00,$FFFE,$1001
DC.W $7FFF,$0005,$FFE0,$0000,$0277,$FFF8,$3FFF,$F7FF
DC.W $FF00,$0000,$0000,$0000,$0007,$7FCB,$FFE0,$0000
DC.W $001E,$BE00,$FFFB,$8000,$5FFF,$800F,$FFE0,$0000
DC.W $047F,$FFFC,$3FFF,$EB7F,$FF00,$0000,$0000,$0000
DC.W $0003,$FFE1,$FFF0,$0008,$003F,$6E00,$FFFF,$8001
DC.W $4FFD,$001F,$FDF0,$0000,$086D,$FFFC,$3FFE,$1BFF
DC.W $FF00,$0000,$0000,$0000,$0003,$FBC8,$FFF8,$0004
DC.W $00FF,$FE00,$7FFF,$8000,$0FFE,$800F,$FB38,$0000
DC.W $0B4F,$FDBC,$3FFC,$3ABF,$FE00,$0000,$0000,$0000
DC.W $0003,$FDF1,$FFFC,$0000,$00FF,$FE00,$3FFF,$8001
DC.W $5DFF,$000F,$FDF0,$0000,$075F,$FBFC,$3FFC,$33FF
DC.W $F000,$0000,$0000,$0000,$0003,$F9F2,$FFFE,$0000
DC.W $00FF,$FE00,$7FFF,$8003,$CDDF,$001F,$FFA0,$0200
DC.W $07AF,$7BFC,$3FFC,$07E0,$0000,$0000,$0000,$0000
DC.W $0003,$F9E8,$7FFF,$0000,$01FF,$FE00,$FFFF,$C005
DC.W $D1FF,$001F,$FFE0,$1200,$0EAE,$7FFC,$3FFC,$0E20
DC.W $0200,$0000,$0000,$0000,$0003,$FBF1,$3FFF,$8000
DC.W $01FF,$FE00,$FFFF,$C001,$28D9,$401F,$EFF8,$5000
DC.W $0EEC,$FFFC,$3FFC,$1804,$0600,$0000,$0000,$0000
DC.W $0003,$FFF0,$1FFF,$C000,$01DF,$FF00,$FFFF,$C003
DC.W $A06F,$803F,$FBE8,$0400,$1B1F,$FFFC,$3FFC,$1012
DC.W $0000,$0000,$0000,$0000,$0003,$FFF0,$0FFF,$E000
DC.W $018F,$FF00,$FFFF,$E003,$F9FB,$803F,$FFE8,$0000
DC.W $0B7F,$7FFC,$3FF8,$0000,$0000,$0000,$0000,$0000
DC.W $0003,$FFC5,$0FFF,$C000,$05DF,$FF00,$BBFF,$E007
DC.W $FC87,$811F,$FE42,$0000,$9F47,$DFFC,$3FF0,$0020
DC.W $0000,$0000,$0000,$0000,$0003,$FFC0,$07FF,$E000
DC.W $07FF,$FF00,$FFFF,$E007,$FE80,$008D,$47A0,$0000
DC.W $7F49,$FFFC,$3FF0,$0000,$0000,$0000,$0000,$0000
DC.W $0003,$FFC0,$07FF,$E200,$0A7F,$FE02,$F7FF,$C007
DC.W $FF80,$811A,$658B,$4000,$3F00,$FFF8,$3FFA,$0000
DC.W $0000,$0000,$0000,$0000,$0003,$FFC0,$87FF,$E000
DC.W $031F,$FC80,$BFFF,$E007,$FFF0,$8065,$2F0B,$0000
DC.W $7FB7,$7FF8,$3FFE,$0000,$0000,$0000,$0000,$0000
DC.W $0003,$FFC0,$03FF,$F000,$0F3F,$FE04,$FFFF,$F80F
DC.W $FFF8,$8071,$BC75,$8000,$FBFF,$FFF0,$3FF8,$0000
DC.W $0000,$0000,$0000,$0000,$0003,$FFC0,$027F,$F000
DC.W $0B17,$FF02,$FFFF,$480F,$FFFB,$0054,$36F3,$8000
DC.W $FFF5,$E964,$77F8,$0000,$0000,$0000,$0000,$0000
DC.W $0003,$FFCC,$027F,$B000,$3ED1,$FFE0,$FFFA,$084F
DC.W $FFF8,$0003,$F9FF,$8000,$FF9A,$A182,$3FF8,$0000
DC.W $0010,$0000,$0000,$0000,$0003,$FFF4,$037D,$1800
DC.W $0BD2,$FF80,$FFFD,$CCAF,$FFFC,$0007,$FFFF,$8001
DC.W $FDF8,$1604,$3FB8,$4000,$0000,$0000,$0000,$0000
DC.W $0003,$FF07,$03FD,$B800,$3FD7,$7F80,$F7FF,$A51F
DC.W $FFFC,$000F,$FFFF,$8001,$FFF0,$E080,$3F98,$8400
DC.W $0000,$0000,$0000,$0000,$0003,$FFE7,$01DD,$F800
DC.W $7FB7,$FF80,$FFFF,$F10F,$FFFD,$000F,$FFFF,$8003
DC.W $FFF0,$1000,$3FFD,$8000,$0000,$0000,$0000,$0000
DC.W $0003,$FEE8,$01E7,$F800,$7FD0,$5F80,$F9FF,$443F
DC.W $FFFF,$000F,$FFFF,$8003,$FFE2,$9000,$7FFF,$4838
DC.W $0000,$0000,$0000,$0000,$0007,$FEF0,$01FF,$F800
DC.W $7FFD,$0FC0,$FFFF,$D86F,$FFFF,$200F,$FFDF,$C003
DC.W $FFE4,$0000,$7FFF,$7C2A,$0000,$0000,$0000,$0000
DC.W $0003,$FE5C,$01FF,$F800,$7FFE,$4FC0,$FFFF,$927F
DC.W $FFFF,$001F,$FDEF,$C007,$FFC8,$0007,$7FFF,$5008
DC.W $0000,$0000,$0000,$0000,$0001,$FFF2,$01FF,$F802
DC.W $7FEC,$47C0,$FFFD,$1727,$FFFF,$041F,$FDFF,$C007
DC.W $FFD8,$000F,$FFFF,$C40C,$0000,$0000,$0000,$0000
DC.W $0011,$FFD0,$01FF,$F830,$FFED,$83C0,$EFFD,$B77F
DC.W $FFFF,$021F,$FBFF,$C007,$FFC0,$000F,$6FFF,$77AA
DC.W $0000,$0000,$0000,$0000,$0003,$FFC0,$01FF,$F810
DC.W $7FED,$F950,$F7DF,$CE3F,$FFFF,$005F,$FA7F,$C02F
DC.W $FF90,$0017,$FDFF,$B7EB,$F000,$0000,$0000,$0000
DC.W $0003,$FFC0,$01FF,$F820,$BFF5,$F828,$FBDF,$CFFF
DC.W $FFFF,$004F,$FFFF,$C069,$FFD0,$0003,$1BFE,$FFFF
DC.W $F000,$0000,$0000,$0000,$0003,$FFA0,$01FF,$F808
DC.W $7FC7,$F990,$FFC3,$CFBF,$FFFF,$002F,$FEFF,$C00F
DC.W $FF4C,$2384,$7FFF,$3FFF,$F000,$0000,$0000,$0000
DC.W $0003,$FFA0,$01FF,$F803,$FFCF,$FE80,$FFE1,$477F
DC.W $FFFF,$0187,$FAFF,$E01F,$FF00,$07DE,$FFFF,$F7FF
DC.W $F000,$0000,$0000,$0000,$0003,$FEA0,$03FF,$F801
DC.W $FFC7,$FB00,$FF80,$C7FF,$DFFF,$0087,$FCFF,$E01D
DC.W $FF80,$1DDE,$7FFF,$DFFF,$F000,$0000,$0000,$0000
DC.W $0003,$FF40,$03FF,$F803,$FFD7,$FF00,$F701,$37FE
DC.W $FFFF,$8003,$FEFF,$E01B,$FD28,$D88F,$7FFF,$1FFF
DC.W $F000,$0000,$0000,$0000,$0003,$FFC0,$03FF,$F807
DC.W $FFBB,$FD00,$1F00,$B7FF,$5FFF,$9859,$F47F,$F01F
DC.W $FE00,$59D3,$7FF9,$3FFF,$E000,$0000,$0000,$0000
DC.W $0003,$FFC0,$03FF,$F802,$FF9F,$BF00,$3FE0,$3FFF
DC.W $EFFD,$085B,$F07F,$181F,$FC00,$0FFF,$7FF9,$2FFF
DC.W $0000,$0000,$0000,$0000,$0003,$FFC0,$07FF,$F003
DC.W $FF9B,$FF00,$FDF0,$1DFF,$EF7A,$1061,$F37F,$F01F
DC.W $FF0B,$BFDF,$77F8,$9F00,$0000,$0000,$0000,$0000
DC.W $0003,$FFC0,$07FB,$E407,$EF81,$FF00,$39C2,$0FFF
DC.W $CF7F,$403B,$E07F,$F83F,$FE67,$E3BF,$7FF9,$0000
DC.W $0000,$0000,$0000,$0000,$0003,$FFA0,$0FFF,$F007
DC.W $FF03,$F381,$4180,$6FFF,$CFFB,$0033,$FFFF,$F03F
DC.W $FFD7,$F3DF,$37F8,$0000,$0000,$0000,$0000,$0000
DC.W $0003,$FF70,$07F7,$F407,$DFFE,$FF80,$6990,$0FFF
DC.W $CFAE,$007D,$FFFF,$F03F,$FD4F,$FAFF,$07F8,$0000
DC.W $0000,$0000,$0000,$0000,$0003,$FFE0,$03FB,$2007
DC.W $CFF9,$FF81,$0AE0,$0FFF,$8FDD,$007F,$FFFF,$F03F
DC.W $FC9F,$A7DF,$1BF8,$0000,$0000,$0000,$0000,$0000
DC.W $0003,$FDC0,$05FB,$800F,$EFBF,$FF83,$8340,$3FFF
DC.W $8F89,$00F9,$7FFF,$F01F,$FC7F,$F3FE,$E7F8,$0000
DC.W $0000,$0000,$0000,$0000,$0003,$FF60,$09D7,$E00F
DC.W $FFFF,$FF81,$A060,$1FFF,$0FC7,$00F3,$70FF,$F11F
DC.W $FC03,$FBFF,$67F8,$0000,$0000,$0000,$0000,$0000
DC.W $0003,$FF18,$1DEF,$E00F,$FFFF,$FF81,$B840,$37FF
DC.W $0F43,$00FF,$7EFF,$F09F,$FC01,$F6FA,$4FF8,$0000
DC.W $0000,$0000,$0000,$0000,$0003,$FEC8,$0AFF,$E00F
DC.W $FFFB,$FF81,$D000,$0FFE,$0D11,$00EB,$7C7F,$FC4F
DC.W $FC04,$35FC,$27F8,$0000,$0000,$0000,$0000,$0000
DC.W $0006,$FF80,$13FF,$C01F,$FFF7,$FFC1,$F600,$19FA
DC.W $0EFD,$01FD,$FEFF,$FC3F,$FC80,$357E,$1BF8,$0000
DC.W $0000,$0000,$0000,$0000,$0008,$F040,$39FF,$801F
DC.W $FEFF,$FFC1,$F700,$46FC,$0405,$01FD,$F43F,$FC3F
DC.W $F000,$7CFC,$2FF8,$0000,$0000,$0000,$0000,$0000
DC.W $000F,$CBC0,$38FF,$0017,$FDE1,$FFC1,$FB80,$07D2
DC.W $1D3F,$01FF,$983F,$FC3F,$E000,$7EF8,$1FF8,$0000
DC.W $0000,$0000,$0000,$0000,$000D,$5040,$7E7F,$0403
DC.W $FC81,$FFC1,$FFC0,$0FFC,$041F,$05FF,$3C3F,$FC7F
DC.W $F000,$78F8,$3FF8,$2000,$0000,$0000,$0000,$0000
DC.W $0010,$1500,$79BE,$052F,$FDC1,$FFC1,$FFA0,$03F8
DC.W $083F,$07FC,$081F,$F83F,$F800,$FFD0,$3FFC,$2000
DC.W $0000,$0000,$0000,$0000,$0020,$0580,$FEFE,$012F
DC.W $F880,$FFC1,$FFE0,$03F0,$107F,$07FE,$201F,$F87F
DC.W $F800,$FED0,$3DFC,$4200,$0000,$0000,$0000,$0000
DC.W $0020,$1B80,$7CFC,$04AB,$F800,$FFC1,$FFE0,$0000
DC.W $24FF,$03FE,$801F,$FDEF,$F801,$FE40,$37FC,$8200
DC.W $0020,$0000,$0000,$0000,$0000,$7F81,$FEFC,$04C7
DC.W $F980,$FFE1,$FF80,$0000,$53FF,$03FF,$905F,$FDF7
DC.W $F801,$FF20,$3FF8,$1400,$0000,$0000,$0000,$0000
DC.W $0061,$FF80,$7AD0,$050A,$7801,$7FE1,$FF90,$0000
DC.W $0FFF,$07FF,$88FF,$FD27,$F003,$FF20,$39D8,$0800
DC.W $0000,$0000,$0000,$0000,$0029,$FF80,$7FC8,$0001
DC.W $F802,$7FE1,$FE80,$0000,$2DFF,$27FF,$805F,$F80F
DC.W $F803,$FFB0,$3FD2,$81FF,$8000,$0000,$0000,$0000
DC.W $0007,$FF82,$7AD8,$0001,$F800,$FFE1,$FED0,$0000
DC.W $0FFF,$47FF,$800F,$FC07,$FC07,$FF90,$3FA6,$0FFF
DC.W $F800,$0000,$0000,$0000,$0317,$FF83,$FBD8,$000E
DC.W $7900,$7FE1,$FEC0,$0200,$27FF,$0FFF,$000F,$FE0F
DC.W $FC0F,$FF90,$3F3D,$1FFF,$FE00,$0000,$0000,$0000
DC.W $0387,$FF8E,$EF00,$2003,$1000,$7FF1,$FFC0,$0400
DC.W $0FFF,$0FFF,$000F,$FE07,$FE3F,$FFD0,$3F68,$7FFF
DC.W $FF00,$0000,$0000,$0000,$004F,$FF8F,$6F80,$000E
DC.W $4000,$7FF1,$FFE0,$0000,$0FFF,$0FFF,$000F,$FE07
DC.W $FFFF,$FFE0,$1E99,$FFFF,$FF00,$0000,$0000,$0000
DC.W $0007,$FF9F,$DF00,$000E,$4800,$7FF1,$FFE0,$0000
DC.W $0FFF,$0FFF,$000F,$FC83,$7FFF,$FFC4,$1D92,$FFFF
DC.W $FF00,$0000,$0000,$0000,$000D,$7FFF,$5F00,$000F
DC.W $C000,$7FF1,$FF80,$0000,$9FFF,$0FFF,$8006,$FE00
DC.W $3FFF,$FF86,$0209,$FFFF,$FE00,$0000,$0000,$0000
DC.W $0007,$FFFF,$7600,$000F,$C008,$3FF1,$FFA0,$0000
DC.W $1FFF,$0FFE,$0007,$FC01,$3FFF,$FF20,$0503,$7BFF
DC.W $FC00,$0000,$0000,$0000,$0007,$FFFF,$6CA0,$000B
DC.W $EE00,$3FF9,$FF90,$0000,$0FFF,$1FFE,$0007,$FE81
DC.W $4FFF,$FE30,$0491,$FFFF,$B000,$0000,$0000,$0000
DC.W $0007,$FFFF,$B000,$001F,$F340,$3FF9,$FFC0,$0000
DC.W $0FFF,$9FFE,$0087,$FF80,$5FFF,$7800,$05E3,$FFFF
DC.W $0000,$0000,$0000,$0000,$0007,$FFFF,$8000,$001F
DC.W $C040,$3FF8,$FFC0,$0000,$0FF9,$9FFC,$0005,$FF00
DC.W $A0FF,$1000,$020F,$FFF8,$0000,$0000,$0000,$0000
DC.W $0207,$FFFF,$8000,$001F,$C8A0,$3FF8,$0F80,$0000
DC.W $0FFE,$9FFE,$0001,$FE01,$4000,$4000,$03DF,$C400
DC.W $0000,$0000,$0000,$0000,$0707,$FFFF,$C000,$001F
DC.W $D800,$1FF0,$0000,$0000,$0FFE,$3FFF,$0000,$0000
DC.W $0001,$5000,$03A6,$0000,$0000,$0000,$0000,$0000
DC.W $0007,$FFFF,$E080,$003F,$9408,$0000,$0000,$0000
DC.W $0FFC,$3FF6,$0000,$0000,$0000,$1800,$0090,$0000
DC.W $0000,$0000,$0000,$0000,$0007,$FFFF,$C010,$003F
DC.W $C000,$0000,$0000,$0000,$07FF,$3FF2,$0000,$0000
DC.W $0400,$1020,$0180,$0000,$0000,$0000,$0000,$0000
DC.W $0007,$FFFF,$0020,$003F,$FD00,$0000,$0000,$0000
DC.W $003E,$1FF4,$0000,$0000,$0000,$0070,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0007,$FFFC,$0000,$001F
DC.W $F200,$0000,$0000,$0000,$0000,$0FF8,$0000,$0000
DC.W $0000,$0020,$2000,$0000,$0000,$0000,$0000,$0000
DC.W $0003,$FF80,$0200,$000F,$F000,$0000,$0000,$0000
DC.W $0000,$03F0,$0000,$0000,$0000,$0000,$0080,$0000
DC.W $0000,$0000,$0000,$0000,$0400,$FFD0,$0000,$0003
DC.W $F000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0800,$0010,$8000,$0000,$0000,$0000
DC.W $0000,$0020,$0000,$0000,$3008,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0024
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0004,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0010,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0800,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0020
DC.W $0000,$0000,$0000,$0000,$1400,$0000,$0000,$0002
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0060,$0000
DC.W $0000,$0000,$0000,$0004,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0040
DC.W $0008,$0000,$0000,$0000,$0400,$0000,$0000,$0002
DC.W $0000,$0000,$0000,$0000,$0100,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0020,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0058,$0000,$8000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$6000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$2000
DC.W $0000,$0000,$6000,$0000,$0000,$0000,$0000,$0000
;----------)) Blitter Object Definition Area ((----------------------------
rsreset
Obj_xpos rs.w 1 ; Possition it is in now.
Obj_ypos rs.w 1 ; Calculated with ....
Obj_dx rs.w 1 ; x = x + dx
Obj_dy rs.w 1 ; y = y + dy
end